import json
import os
'''
数据要求：
直辖市：
    xx区
省份：
    xx市
'''


provinces = {"河北省",'山西省','辽宁省','吉林省','黑龙江省','江苏省','浙江省',
            '安徽省','福建省','台湾省','江西省','山东省','河南省','湖北省','湖南省',
            '广东省','海南省','四川省','贵州省','云南省','陕西省','甘肃省','青海省'}
citys = {'北京市','天津市','上海市','重庆市'}
zizhiqu = {'内蒙古自治区','广西壮族自治区','西藏自治区','宁夏回族自治区','新疆维吾尔自治区'}

dir_path = os.path.dirname(__file__)
print(dir_path)

all_dict = {}
def write_txt():
    fp_w = open(os.path.join(dir_path,'province.txt'), 'w', encoding='utf-8')
    with open(os.path.join(dir_path,'province.html'), 'r', encoding='utf-8') as fp:
        for line in fp:
            number,name = line.strip().split('>',1)[-1].split('<')[0].split(' ')
            name_split1 = name.split('市',1)[0]+'市'
            name_split2 = name.split('省',1)[0]+'省'
            name_split3 = name.split('自治区',1)[0]+'自治区'
            if name_split1 in citys:
                #直辖市处理
                if name_split1 in all_dict:
                    if name[-1] == '区' and '市辖区' not in name:
                        all_dict[name_split1].append({'number':number,'name':name})
                else:
                    if name[-1] == '区' and '市辖区' not in name:
                        all_dict[name_split1] =[{'number':number,'name':name}]

            elif name_split2 in provinces:
                #省份处理
                if name_split2 in all_dict and name.count('市')==1:
                    if name[-1] =='市':
                        all_dict[name_split2].append({'number':number,'name':name})
                else:
                    if name[-1] == '市' and name.count('市')==1:
                        all_dict[name_split2]=[{'number': number, 'name': name}]
            elif name_split3 in zizhiqu:
                #自治区处理
                if name_split3 in all_dict:
                    if name[-1]=='市':
                        all_dict[name_split3].append({'number': number, 'name': name})
                else:
                    if name[-1]=='市':
                        all_dict[name_split3]=[{'number': number, 'name': name}]

    all_dict['台湾省'] = [
        {'number': '710100', 'name': '台湾省台北市'},
        {'number': '710800', 'name': '台湾省新北市'},
        {'number': '710400', 'name': '台湾省台中市'},
        {'number': '710500', 'name': '台湾省台南市'},
        {'number': '710200', 'name': '台湾省高雄市'},
        {'number': '710900', 'name': '台湾省桃园市'},
        {'number': '710300', 'name': '台湾省基隆市'},
        {'number': '710600', 'name': '台湾省新竹市'},
        {'number': '710700', 'name': '台湾省嘉义市'},

    ]

    all_dict['香港特别行政区'] =[
        {'number':'810101','name':'香港中西区'},
        {'number':'810103','name':'香港东区'},
        {'number':'810104','name':'香港南区'},
        {'number':'810102','name':'香港湾仔区'},
        {'number':'810205','name':'香港观塘区'},
        {'number':'810203','name':'香港深水埗区'},
        {'number':'810204','name':'香港黄大仙区'},
        {'number':'810202','name':'香港油尖旺区'},
        {'number':'810309','name':'香港离岛区'},
        {'number':'810308','name':'香港葵青区'},
        {'number':'810301','name':'香港北区'},
        {'number':'810304','name':'香港西贡区'},
        {'number':'810303','name':'香港沙田区'},
        {'number':'810302','name':'香港大埔区'},
        {'number':'810307','name':'香港荃湾区'},
        {'number':'810306','name':'香港屯门区'},
        {'number':'810305','name':'香港元朗区'},
        {'number':'810201','name':'香港九龙区'}
    ]
    all_dict['澳门特别行政区'] = [
        {'number': '820101', 'name': '澳门花地玛堂区'},
        {'number': '820102', 'name': '澳门圣安多尼堂区'},
        {'number': '820103', 'name': '澳门大堂区'},
        {'number': '820104', 'name': '澳门望德堂区'},
        {'number': '820105', 'name': '澳门风顺堂区'},
        {'number': '820201', 'name': '澳门嘉模堂区'},
        {'number': '820301', 'name': '澳门圣方济各堂区'},
        {'number': '820401', 'name': '澳门路氹城区'},

    ]

    data = json.dumps(all_dict, ensure_ascii=False)
    fp_w.write(data)
    fp_w.close()

if __name__ == '__main__':
    #生成籍贯数据，转成json字符串写到province.txt文件中
    '''
    籍贯数据：
    dic = {'北京市':[{"number": "110101", "name": "北京市东城区"},...]}
    1、直辖市： 北京市、天津市、上海市、重庆市。
        存：下辖区
    
    2、特别行政区：香港特别行政区、台湾特别行政区
        存：下辖区
        
    3、自治区：内蒙古自治区、广西壮族自治区、西藏自治区、宁夏回族自治区、新疆维吾尔自治区
        存：下辖市
        
    4、23个省份：
        存：下辖市  
    '''
    write_txt()